Skip to main content
TrustRadius
React

React

Overview

What is React?

React is a JavaScript library for building user interfaces. React enables users to create interactive UIs. Design simple views for each state in an application, and React will update and render just the right components when data changes. React is…

Read more
Recent Reviews

TrustRadius Insights

React has become a go-to choice for organizations looking to develop web interfaces and manage code bases efficiently. Its popularity …
Continue reading

Review on react.js

10 out of 10
July 21, 2021
Incentivized
In the project that I am working on, the front end of the main website is built with React JS. We have been working on it for the last 3 …
Continue reading
Read all reviews
Return to navigation

Pricing

View all pricing
N/A
Unavailable

What is React?

React is a JavaScript library for building user interfaces. React enables users to create interactive UIs. Design simple views for each state in an application, and React will update and render just the right components when data changes. React is available free and open source under the MIT…

Entry-level set up fee?

  • No setup fee

Offerings

  • Free Trial
  • Free/Freemium Version
  • Premium Consulting/Integration Services

Would you like us to let the vendor know that you want pricing?

7 people also want pricing

Alternatives Pricing

What is Firebase?

Google offers the Firebase suite of application development tools, available free or at cost for higher degree of usages, priced flexibly accorded to features needed. The suite includes A/B testing and Crashlytics, Cloud Messaging (FCM) and in-app messaging, cloud storage and NoSQL storage (Cloud…

Return to navigation

Product Demos

FNF + character Indie Cross React Mod INDIE CROSS (DEMO)

YouTube

React JS Tutorials for Beginners - 2 - Simple Demo

YouTube

Friday Night Funkin React Slenderman Mod || ( Demo ) || Full Week || •TheRanitor•

YouTube

FNF And Sonic Friends React Control Song || Vs Speed.GIF || ( Cyclops DEMO ) || •TheRanitor•

YouTube
Return to navigation

Product Details

React Technical Details

Operating SystemsUnspecified
Mobile ApplicationNo

Frequently Asked Questions

React is a JavaScript library for building user interfaces. React enables users to create interactive UIs. Design simple views for each state in an application, and React will update and render just the right components when data changes. React is available free and open source under the MIT license.

Reviewers rate Support Rating highest, with a score of 10.

The most common users of React are from Mid-sized Companies (51-1,000 employees).
Return to navigation

Comparisons

View all alternatives
Return to navigation

Reviews and Ratings

(104)

Community Insights

TrustRadius Insights are summaries of user sentiment data from TrustRadius reviews and, when necessary, 3rd-party data sources. Have feedback on this content? Let us know!

React has become a go-to choice for organizations looking to develop web interfaces and manage code bases efficiently. Its popularity stems from its ability to optimize the re-rendering process, making user interfaces with large data responsive. Users have found that React's component-based architecture and dynamic data handling simplify scalability and maintenance, addressing business problems related to website appearance and maintainability. The lightweight and testable nature of React components allows for seamless UI development and a better developer experience. Additionally, React's fast performance, achieved through its virtual DOM, ensures quick rendering and updating of components. With an active community offering resources and tutorials, React is widely adopted in various departments and organizations for developing websites, content management systems, and full-stack projects with cross-platform compatibility. Its flexibility, ease of use, and integration capabilities with other plugins make it suitable for single-page application development as well. As a result, React continues to gain popularity among developers, leading to its inclusion in upcoming projects and making it an attractive framework for recruitment purposes.

Versatile State Management: Users have praised React for its highly versatile state management capabilities, allowing developers to tailor their solutions based on specific requirements. This flexibility has been appreciated by many reviewers and has enabled them to effectively manage state in their applications.

Efficient Code Organization: Many users have highlighted React's ability to effectively organize code, resulting in a streamlined development process. This feature has allowed developers to maintain a structured and maintainable codebase, facilitating collaboration among team members and making it easier to understand and maintain the code over time.

Improved Performance with Virtual DOM: Reviewers have appreciated React's speed and efficiency, particularly with its virtual DOM implementation. The optimization of re-rendering and display updates has resulted in faster and smoother user interfaces. This improved performance contributes to a better overall user experience when using React-based applications.

Challenging state management: Some users have found React's state management challenging, particularly when dealing with deeply nested components and passing data up or down the component tree. This has led to difficulties in reading and maintaining code.

Steep learning curve: Several reviewers have expressed frustration with the learning curve associated with React, especially for those who are more familiar with other web development patterns. The higher learning curve of thinking in React has been a challenge for some users.

Cumbersome setup process: Setting up React applications, especially when using webpack, can be cumbersome according to user feedback. However, tools like Create React App can help expedite the setup process and mitigate this issue.

Attribute Ratings

Reviews

(1-5 of 5)
Companies can't remove reviews or game the system. Here's why
Score 7 out of 10
Vetted Review
Verified User
React is used to build a wide range of applications including websites and content management systems, to name a few. It is also used with .NET Core for building a full stack project with the use of front-end, backend and API technologies. <br><br>React addresses several business problems for our clients who need better scalability and appearance for their websites. It enables employees to write clean and maintainable code that can be refactored with ease.<br><br><b><u>Features and uses:</u></b><br><ul><li>Dynamic data handling: React can render changes to the user interface and manage updates to dynamic data without slowing down the application.</li><li>Scaling: As the application grows and gets more complicated, scalability is made simple by React's component-based architecture.</li><li>Maintainability: The modular nature of React's code makes it simple to update and maintain the codebase over time.</li><li>Cross-platform compatibility: React enables the development of online and mobile applications, saving time and resources.</li><li>Fast performance: Fast rendering and updating of components is made possible by React's usage of a virtual DOM, which gives users of the application the impression that it is responding quickly.</li><li>Large community: React has a large and active community of developers, which provides resources, tutorials and tools for eveyones' usage.</li></ul>
  • React is excellent at handling dynamic updates to user interfaces. React, for instance, can effectively refresh the user interface (UI) in real-time as the user interacts with the application or as fresh data is obtained from an API.
  • Developers can simply design reusable UI components with React, which can then be combined to create complex user interfaces. As a result, development time is cut down and the codebase is simpler to manage.
  • With the help of React, developers may implement server-side rendering, which can speed up the application's loading time and make it simpler for search engines to scan and index the information.
  • For developers who are new to the library or to front-end programming in general, React has a relatively steep learning curve. Because of this, it could be challenging for developers to use React to its full potential.
  • It can be difficult to manage the state and interactions between components as React applications grow increasingly complicated. As a result, the code could be challenging to read and maintain.
  • Due to React's restricted collection of built-in functionality, some tasks may be challenging to complete without the use of extra libraries or custom code. For instance, handling routing, which is a frequent requirement for many applications, is not supported natively by React.
React is a JavaScript user interface construction library that works well for:
  • Developing web apps with dynamic and complicated user interfaces.
  • creating reusable UI elements that may be used in other applications.
  • creating single-page applications with dynamic content updates that don't require a page reload.
  • The Virtual DOM's effective updating mechanism allows it to handle large volumes of data updates.
React, on the other hand, might be less suitable for:
  • Websites that are simple, stagnant, and have no interaction. Other libraries or simple HTML, CSS, and JavaScript may be a better fit in such circumstances.
  • Web sockets may be a better choice for applications that need real-time updates, such as chat or gaming apps.
  • When creating mobile apps, React Native is a better option.
  • Server side rendering only, as React is designed to run on the client side.
  • It is quicker to work with a virtual DOM (Document Object Model) that streamlines updates and rendering than it is to directly manipulate the real DOM.
  • Building reusable UI elements is made possible by structures based on components.
  • Server-side rendering for improved performance and SEO optimization
  • Easy to implement in a website (Pros)
  • Difficult to grasp and learn for new developers. Clients need fast paced work and React has deep learning curve.
  • JavaScript based library . Easier to implement for JS developers.
César Costas Carrera | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
React is used by the front end team to build our website. It allows the team to work in a modular way, creating components that can be either reusable (saving development time in future developments) or exclusive (encapsulating the unique logic and preventing it to be broken by other developments). Working with React allows the business to scale quickly.
  • Modular development.
  • Server-side rendering.
  • Small learning curve.
  • I would like to see a separation between React as a javascript tool attached to the DOM and JSX the Virtual DOM rendering engine. With that separation, static sites (which are already rendered and don't need JSX) would be able to be even smaller.
  • A React app might get messy producing lots of re-renders.
If you're writing a site with multiple pages, and any kind of interactivity (click, navigation, opening modals, etc.), React is a suitable option.

If you're writing a single page, with no navigation and just displaying information (you probably don't even need javascript), then React is an overload.
  • React allows a modular design, which is fabulous for A/B testing (showing a different module to each user). Some of these experiments had an improvement as big as to pay for the whole team that coded it. So far we know the ROI has been positive, but I can't provide a number.
The code maintainers are usually very alert in Github, Twitter, and other channels, replying and solving any doubts or questions.
Score 10 out of 10
Vetted Review
Verified User
Incentivized
Many teams in our organization are using React for both our web properties and several mobile apps (using React Native). It is the default client-side framework and mobile app stack for any new work as well. This lets engineers easily collaborate between different projects and also share components.
  • Lots of compatible libraries and tools
  • Fantastic developer experience and mental model
  • Easy to layer abstractions and compose large pages from small components
  • Without using tools like Gatsby or Next, React encourages large client-side bundles with no content available immediately.
  • Usually, you need to put together your own "framework" from other tools since React is just the view layer.
  • React Native is still maturing, though there is a lot of activity on that project latey.
React is great for very interactive experiences like search filters, dynamic forms, graphs and charts, and anything else where immediate interaction vastly improves the user experience. For very simple content that could be server-rendered and there are existing rails (or similar) backend in place, that can often be a better choice. But the advantages of a static React frontend are easy cachability on a CDN, pre-rendered content with tools like Gatsby, and easy deployment to platforms like Netlify or Amazon S3. React Native is also a fantastic tool for creating cross-platform applications that need to run on both iOS and Android.
  • It has made hiring easy, as React developers are plentiful since it's a very popular technology.
  • It has sped up development simply by virtue of being an excellent programming tool.
  • It has standardized the way our organization shares components between teams.
There are a few things that may take some getting used to when coming to a modern JS frontend. Tools like Babel and Webpack (or abstractions that hide their details from you) are often a starting point and JSX can be confusing at first. But assuming the developer is already familiar with modern frontend tools, React is a very natural fit and makes creating user interfaces a joy.
Since it's open-source and very popular, the community support for React and related tools and libraries is excellent. There are a lot of people using the same tools, and so issues tend to get fixed quickly and "recipes" are easy to come by. And since it's backed by Facebook, they have a dedicated engineering team working on the progression of React.
I have also used Vue, Angular, and Ember for various projects. Out of the three, I am most intrigued by Vue. It takes a more beginner-friendly approach than React and changes some of the abstractions it uses to be more transparent to the user. It also comes with a lot more "built-in" than React. Angular is similar, but I've found it over-engineered and hard to work with. I have the least experience with Ember out of all of these, but it seems like another reasonable alternative with very strong conventions in place and an excellent CLI.
Zoom, Backblaze
Erik Ralston | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
React, and its ecosystem of thirty-party modules, is the primary front-end library for our products at LiveTiles. It provides a dynamic HTML templating system, plus event and state-handling for our applications. This provides better reusability of code by making interfaces as modular components, plus provides an easy onboarding path for new front-end developers.
  • Intuitive templating language (JSX) that provides a dynamic rendering of HTML elements, along with an easy model to tie back to JavaScript implemented in your components.
  • Component-based views that guide the developer to modular and reusable pieces to your interface.
  • Streamlined state management with immutable properties and mutable state within each component with one-day data-binding to tie them to the view
  • When you hear someone say "React is a LIBRARY, not a FRAMEWORK", they're right. It's only the View layer of the application and nothing else. Some developers get this wrong, put too much application logic into their React components, then end up with no separation of concerns.
  • It's so easy to get started that it's hard to realize when you're doing it wrong. Developers who are early into React can come up with issues like nesting the Props and State of their components wrong, leading to issues like re-rendering all of a list of items rather than just one item.
  • It's so ubiquitous that there are certain developers I've met who have never done direct DOM manipulation. While it's easy to make something in React in most cases, developers need to make sure they know how to use the Js API as well as the convenient library.
In a so-called "Single Page Application (SPA)" or "Progressive Web Application (PWA)," or any app where there's user interaction without leaving the current page, React is excellent for providing a flexible presentation layer or view layer. While it doesn't provide a full data model, it does provide basic state management around components that integrates with virtually any other client-side framework. Also, with "React Native", the mobile implementation of the same library, one can write JSX and have it render components in a mobile app.

React is likely not a good fit for websites with a big emphasis on Search Engine Optimization (SEO). The requirement to render the UI with JavaScript means it's unlikely to be easily crawled by a search engine. This means it's unsuitable for applications like Marketing websites or blogs. Similarly, React doesn't work for situations where you can only use static HTML (EG, HTML e-mail).







  • React sped up the time to implement new features, providing much better code-reuse across the team
  • React's excellent performance made it so new components ran faster in the browser
  • Since React is so popular, it's been easy to recruit new developers to the team who already have a familiarity with the library
Like most people, I started in serious client-side web development with the introduction of jQuery, the first robust library for cross-browser DOM manipulation. React provides a much closer WYSIWYG translation from the declarative JSX template to HTML elements compared to using procedural programming to do the same task. While it lacks the built-in capabilities like animation, it does have excellent third-party plugins for it - and most things can be accomplished via CSS nowadays.

React is one of many advanced client-side frameworks that are currently dominating front-end development. Angular and Vue would be the other noteworthy competitors.

Angular is comparatively heavy, but provides more of a "full toolbox" than React; however, its version changes and opinionated approach means it's a challenge to just bolt on to the project even if it likely would deliver some line-of-business (LOB) type solutions more rapidly.

Vue is React's real competition. It provides a loosely coupled set of libraries, a somewhat cleared format of separate component code, and support onboarding into a code base. Its community and developer familiarity are not as mature as React, so you'll have a harder time finding a Vue dev. Finally, Vue is independent (whereas React is supported by Facebook) -- that may influence some people.
Joshua Weaver | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Incentivized
React has been used as a web front-end layer for a few different projects. We have a couple of web applications that we have chosen to use React for. It addressed the need for something that was forward-thinking and progressive in its approach to development. It allows us to structure the client-side logic and presentation code in a more maintainable way.
  • React makes managing state both easy and hard (depending on the context of the situation). So I am using it as both a pro and a con.
  • React makes organizing your code quite easy.
  • React is fast.
  • It can be used on the front end and also rendered server-side.
  • The Ecosystem is enormous for being so young. Wide-spread adoption has helped this and gives you plenty of areas to find help.
  • React Native is an amazing tool that gets you into Mobile Development using the skills you learn in React Web development
  • React's state management can get hairy if you have a deeply nested component and need to pass things up or down the tree very far. This is where libraries like Redux come in, however.
  • The progressive nature of its development and change cycles can leave information outdated online faster than other frameworks. This can make finding help or documentation on 3rd party sites frustrating.
  • The learning curve on "thinking in React" can be slightly higher than other more familiar patterns of web development.
  • Building an app in it can be cumbersome to set up with webpack, but things like Create React App can get you going in a jiffy.
If I were just adding small components that needed to do simple things in a web page, I would probably not choose React. It kinda feels like a big hammer for a little nail like that. There is a bit more overhead in library size to accomplish smaller tasks.

With that being said, I feel like React is a great choice for medium to larger size web applications that have lots of moving parts. Using it will help you structure your app more efficiently overall.

There are some areas that are still frustrating and include lots of boilerplate with React (which have been alleviated with certain libraries).
  • Just getting started can be a battle - Use Create React App to get off the ground faster
  • State management can get difficult - Use Redux if necessary
  • Form handling can be laborious - Use Formik or something similar
  • Development speed has probably sped up overall
  • Organization of code has improved
  • More flexible future development and maintenance options
  • Vue and Blaze
When choosing a front-end framework, you have a ton of choices. There are numerous articles that will try to convince you this way or that about which one is better. I have used Blaze as a UI layer for Meteor Application development quite extensively and have found it to greatly aid development with its simplicity and speed of getting ideas off the ground. It does suffer in certain context from extra code necessary to get things working because of its older handlebars-like patterns. Logic takes more code. With React, you can accomplish a lot of basic tasks more succinctly because it's just javascript all around and you can incorporate broader logic right into the templating.
  • Performing basic to moderately complex logic in your templating can be achieved and still visually readable from a code standpoint
  • Organizing code from a data flow standpoint is much easier than with other framework
  • Choosing a way to style components - there are so many different opinions on the matter
  • Form handling
Yes
If you call React Native a mobile interface ;) - But seriously though, React Native is amazing. It gets you the ability to build cross-platform, native Mobile apps that utilize over 90% of the same codebase.
React is just a bit of a different animal. I was avoiding it for the longest time. I thought for sure I would land on Vue or something else with a more approachable and familiar appearance. But after taking an online course in React, I started realize what people were raving about (and complaining about) and decided to implement it at our office for one of our products.
Return to navigation